package com.demo2do.fms.admin.service.data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.demo2do.core.entity.page.Page;
import com.demo2do.fms.admin.entity.report.data.RepairFeeReportSearch;
import com.demo2do.fms.admin.service.DataService;
import com.demo2do.fms.entity.authority.Organization;
import com.demo2do.fms.entity.data.business.VehicleFeature;
import com.demo2do.fms.entity.data.cost.RepairFee;

/**
 * 
 * @author Wy
 *
 */

public interface RepairFeeService extends DataService<RepairFee>{
    
    /**
     * count repair_fee by orgIds
     * 
     * @param orgIds
     * @return
     */
    public int count(List<Long> orgIds);
    
    /**
     * list repair_fee by orgIds and page
     * 
     * @param orgIds
     * @param page
     * @return
     */
    public List<RepairFee> list(List<Long> orgIds, Page page);
    
    /**
     * list repair_fee by organization and vehicle_feature
     * 
     * @param organization
     * @param vehicleFeature
     * @return
     */
    public List<RepairFee> list(Organization organization, VehicleFeature vehicleFeature);
    
    /**
     *  edit
     * 
     * @param operator
     * @param organization
     * @param vehicleFeature
     * @param rangeFroms
     * @param prices
     */
    public void edit(Long operator , Organization organization, VehicleFeature vehicleFeature , List<Integer> rangeFroms ,List<BigDecimal> prices);

    /**
     * 
     * @param search
     * @return
     */
    public List<Map<String, Object>> exportAll(RepairFeeReportSearch search);
    
}
